<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>06JS函数/方法</title>
    </head>
    <body>
      <script>
        //1.JS通过function关键字来定义函数
        function f1(){
          console.log('f1');
        }
        f1();


        //2.函数的参数
        function f2(n){
          console.log('今天星期六'+n);
        }
        f2('中午吃什么');
        f2(666);
        f2(false);


        //3.形参与实参的个数问题
        function f3(x,y){//x.y为形参
          console.log(x+y);
        }
        f3(3,10);//3,10为实参
        f3(3);//3+undefined=NaN 未被赋值的形参为undefined
        f3(3,10,20)//13 多余的实参会被忽略掉


        //4.arguments 用来保存调用函数时传入的实参，可以看到实参的个数与值
        function f4(){
          console.log(arguments);
        }
        f4(50);//arguments [50...]
        f4(50,60);//arguments [50,60.....]
        f4(50,60,70);//arguments [50,60,70....]


        //5.函数的返回值：
        function f5(a,b){
          // 使用return关键字返回调用的结果
          return a+b;
        }
        //返回方式1：
        var result = f5(1,6);
        console.log(result);//7 将return的结果保存在result中 在打印出来
        //返回方式2：
        console.log(f5(1,1));//2 直接打印return的结果



        //第二种声明方式：将函数整体交个f6保存 调用的时候使用变量名调用即可
        var f6 = function(){
          console.log('第二种')
        }
        console.log(f6);//f (){console.log('第二种');}
        console.log(typeof f6);//function
        f6();//调用时直接使用变量的名字调用


        ///第三种：箭头函数：
        const f7 = (n)=>{
          console.log('第三种'+n);
        }
        f7(123);
      </script>

    </body>
</html>